package jwzhangjie.com.webviewandjs;import android.content.Context;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.webkit.JavascriptInterface;import android.webkit.WebView;import android.webkit.WebViewClient;import android.widget.Toast;public class MainActivity extends AppCompatActivity { private WebView webView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); webView = (WebView)findViewById(R.id.webView); initWebView(); } private void initWebView(){ //设置编码 webView.getSettings().setDefaultTextEncodingName("utf-8"); //支持js webView.getSettings().setJavaScriptEnabled(true); //设置监听事件 webView.setWebViewClient(new JieWewViewClient()); //设置本地调用对象及其接口 webView.addJavascriptInterface(new JavaScriptObject(getApplicationContext()), "toAndroid"); //载入js webView.loadUrl("file:///android_asset/index.html"); } public void javaCallJsNoParams(View view){ webView.loadUrl("javascript:javaCallJsNoParamsMethod()"); } public void javaCallJsHasParams(View view){ webView.loadUrl("javascript:javaCallJsHasParamsMethod('" 123 "')"); } public class JavaScriptObject { Context mContxt; public JavaScriptObject(Context mContxt) { this.mContxt = mContxt; } @JavascriptInterface //sdk17版本以上加上注解 public void jsCallJavaNoParams() { Toast.makeText(mContxt, "Js调用Java方法(无参)", Toast.LENGTH_LONG).show(); } @JavascriptInterface //sdk17版本以上加上注解 public void jsCallJavaHasParams(String params) { Toast.makeText(mContxt, "Js调用Java方法(有参):" params, Toast.LENGTH_SHORT).show(); } } class JieWewViewClient extends WebViewClient{ /** * 如果紧跟着 * webView.loadUrl("file:///android_asset/index.html"); * 调用Js中的方法是不起作用的,必须页面加载完成才可以 */ @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); webView.loadUrl("javascript:javaCallJsHasParamsMethod('" 123 "')"); } }}
下载android 实现js交互(互相调用) 示例源码下载用户还喜欢
- 18480 文章数
- 500万+ 热度
作者专栏
编辑推荐
- 淡抹u2引擎,修复内容较多,物有所值
- 界域传说·经典巨作=传世单机(一键安装)
- 丸子版本(175个传世版本大集合)
- GS版本:神话公益服务端+客户端
- 图片放大工具(放大图片不模糊)
- 剪映无限制VIP版
- 传奇世界客户端下载器,史上最全传世客户端
- 传世GS20220920商业引擎注册+登录配置器 解压密码是1
- U2官方排行榜游戏网关 支持元神,支持传家宝
- GS开战传世客户端+服务端
- (淡漠夕阳)u2引擎合区工具
- 传世GS引擎消除“你的游戏客户端版本号过旧,请及时更新”提示
- 传世一机多区双线路配置器--免密码版本
- 传世凤凰登陆器劫持修复软件
- SQLite3 for Navicat
- 传奇世界npc对话框编辑工具
- 传世GS落霞铭文服务器端
- gs_20210409引擎包+注册机(无限制)
- 传奇世界NPC对话封包查看器[支持时长版和极速版]
- 彩虹引擎传世脚本编辑工具1.7版来了,支持函数脚本翻译
评论